define(function(require,exports,module) {
    var myPub = require('./public');
    var oLoggArea = $('.js_loggArea textarea');         // 输入注销原因区域
    var oLoggedWordNo = $('.js_loggedWord');            // 注销原因字数
    var oLoggedKnow = $('.js_loggedKnow');              // 用户注销须知按钮
    var oBtnLog = $('.js_btnlog');                      // 确定注销按钮
    var oCancellation = $('.js_cancellation');          // 注销须知弹窗
    var bReasArea = false;                              // 输入字数达到5时为true
    var bloggedKonwOff = false;                         // 注销须知勾选时为true
    var bloggedKnowTap = true;                          // 注销须知防止多次点击
    var loggedKnowTap_timer = null;                     // 注销须知计时器
    var bBtnLogTap = true;                              // 确定注销防止多次点击
    var BtnLogTap_timer = null;                         // 确定注销计时器
    var loggedAreaVal = '';                             // 账户注销的原因



    module.exports = {
        init: function(data,names) {}
    };
    $('body').css({'height':$(window).height()});
    if(oLoggArea.val() && oLoggArea.val() != ''){
        if(oLoggArea.val().length >= 5){
            bReasArea = true
        }else{
            bReasArea = false
        }
    }
    // 输入注销原因
    oLoggArea.on('input propertychange',function () {
       loggedAreaVal = $(this).val();
       // 评论内容不包含标点符号
        var validLogged = loggedAreaVal.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\；|\：|\《|\》|\，|\。|\？|\！|\“|\”|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?|\n|\r]/g,"");
      // console.log(loggedAreaVal.length)
        if(validLogged.length >= 5){
          bReasArea = true
        }else{
            bReasArea = false
        }
        if(loggedAreaVal == '' ){
            oLoggedWordNo.text('5-')
        }else{
            oLoggedWordNo.text(loggedAreaVal.length+'/')
        }

        if(oLoggedKnow.hasClass('active') && bReasArea){
            oBtnLog.removeClass('btn_Bggay');
            oBtnLog.addClass('btn_Bgred');
        }else{
            oBtnLog.addClass('btn_Bggay');
            oBtnLog.removeClass('btn_Bgred');
        }
    });

    // 用户注销须知按钮
    oLoggedKnow.on('click',function () {
        if(bloggedKnowTap){
            bloggedKnowTap = false;
            if($(this).hasClass('active')){
                $(this).removeClass('active');
                bloggedKonwOff = false;
            }else{
                $(this).addClass('active');
                bloggedKonwOff = true;
            }
            if(bloggedKonwOff && bReasArea){
                oBtnLog.removeClass('btn_Bggay');
                oBtnLog.addClass('btn_Bgred');
            }else{
                oBtnLog.addClass('btn_Bggay');
                oBtnLog.removeClass('btn_Bgred');
            }

        }
       clearTimeout(loggedKnowTap_timer);
        loggedKnowTap_timer = setTimeout(function () {
            bloggedKnowTap = true;
        },250)
    });

    // 确定注销按钮
    oBtnLog.on('click',function () {
        if(bBtnLogTap){
            bBtnLogTap = false;

            // 如果没有绑定手机号码  就不能注销帐号
            if(!isBind){
                myPub.TipLayer("您没有绑定手机号码，不能注销账号哦！",'no',function () {});
                clearTimeout(BtnLogTap_timer);
                BtnLogTap_timer = setTimeout(function () {
                    bBtnLogTap = true;
                },250);
                return
            }

            if($(this).hasClass('btn_Bgred')){
                sessionStorage.setItem('loggedOff_reason',loggedAreaVal);
                window.location.href =base+'/myInfo/toMemberCloseCode';
            }else{
                // 注销原因输入字数不够
                if(!bReasArea){
                    if(oLoggArea.val() == '' || oLoggArea.val() == null){
                        myPub.TipLayer("请填写注销原因！",'no',function () {});
                    }else{
                        myPub.TipLayer("注销原因必须多于5个字（标点符号不计算在内）！",'no',function () {});
                    }
                    clearTimeout(BtnLogTap_timer);
                    BtnLogTap_timer = setTimeout(function () {
                        bBtnLogTap = true;
                    },250);
                    return
                }
                // 没有勾选注销须知按钮
                if(!bloggedKonwOff){
                    myPub.askLayer('账户注销须同意《年丰大当家帐户注销须知》，确认继续注销吗？', function () {
                        oLoggedKnow.addClass('active');
                        bloggedKonwOff = true;
                        oBtnLog.removeClass('btn_Bggay');
                        oBtnLog.addClass('btn_Bgred');
                        myPub.LayerCloseAll();
                    }, function () {
                        myPub.LayerCloseAll();
                    }, 'no', function (){},['确定注销','我再想想']);
                }
            }
        }else{
            return
        }
        clearTimeout(BtnLogTap_timer);
        BtnLogTap_timer = setTimeout(function () {
            bBtnLogTap = true;
        },250)
    });

    // 年丰大当家注销须知
    oCancellation.on('click',function () {
        myPub.TipBtnLayer(lationHtml.lationDetail(),'年丰大当家帐户注销须知',['确定'],function () {
            // yes
            myPub.LayerCloseAll();
        },function () {
            // cancel
        },function () {
            $('.layermbox').addClass('cancellationKnow')
        })
    });

    var lationHtml = {
        // 年丰大当家账户注销须知
        lationDetail:function () {
            var lationDelHml =
                '<div class="lationDetail">'+
                '   <h2>《年丰大当家账户注销须知》</h2>'+
                '   <p>年丰大当家账号注销须知内容：</p>'+
                '   <p>注销本账户后，您将放弃以下权益和资产</p>'+
                '   <p>1、账户信息、会员权益、虚拟资产且无法恢复</p>'+
                '   <p>2、无法使用账户原验证手机或邮箱登陆年丰大当家服务</p>'+
                '   <p>3、 解除与第三方授权或绑定关系</p>'+
                '   <p>您理解并同意，年丰大当家无法协助您重新恢复前述服务，您注销账户的行为会给您的售后维权带来诸多不便，请您在操作之前，确保您的账户无任何纠纷，并自行备份年丰大当家账户相关的所有信息和数据，下载并保存好订单商品和服务的交易凭证、票据（如电子发票）等资料，否则您有可能须支付额外的账户和订单查询费用或无法享受相关售后服务。</p>'+
                '   <p>勾选页面单选框，即表示您已阅读并同意</p>'+
                '   <p>《年丰大当家账户注销须知》</p>'+
                '   <p>您在申请注销流程中点击同意前，应当认真阅读《年丰大当家账户注销须知》（以下称“《注销须知》”）。</p>'+
                '   <p>请您务必审慎阅读、充分理解协议中相关条款内容，其中包括：</p>'+
                '   <p>1、与您约定免除或限制责任的条款；</p>'+
                '   <p>2、其他以粗体下划线标识的重要条款。</p>'+
                '   <p>如您对本《注销须知》有任何疑问，可拨打我们的客服电话联系客服，您也可联系在线客服或通过自助查询。</p>'+
                '   <p>【特别提示】当您按照注销页面提示填写信息、阅读并同意本《注销须知》及相关条款与条件且完成全部注销程序后，即表示您已充分阅读、理解并接受本《注销须知》的全部内容。阅读本《注销须知》的过程中，如果您不同意相关任何条款和条件约定，请您立即停止账户注销程序。</p>'+
                '   <p>尊敬的年丰大当家个人消费者用户：</p>'+
                '   <p>我们在此善意地提醒您，' +
                '      <span class="imUnderLine">您注销账户的行为会给您的售后维权带来诸多不便，且注销年丰大当家账户后，您的个人信息我们只会在年丰大当家商城的前台系统中去除，使其保持不可被检索、访问的状态，或对其进行匿名化处理。您知晓并理解，根据相关法律规定，相关交易记录须在年丰大当家后台至少保存3年的时间。</span>' +
                '   </p>'+
                '   <p>1、' +
                '      <span class="imUnderLine"> 如果您仍执意注销账户，您的账户需同时满足以下条件：</span>' +
                '   </p>'+
                '   <p>（1）在最近一个月内，账户没有进行更改密码、更改绑定信息等敏感操作；</p>'+
                '   <p>（2）自愿放弃账户在年丰大当家商城系统中的资产和虚拟权益（包括但不限于账户余额、优惠券等）自愿放弃、无欠款；</p>'+
                '   <p>（3）账户内无未完成的订单和服务；</p>'+
                '   <p>（4）在年丰大当家商城没有过使用该账户激活店铺的记录；</p>'+
                '   <p>（5）账户无任何纠纷，包括投诉举报或被投诉举报；</p>'+
                '   <p>（6）账户对应的年丰大当家支付账户已注销，且已妥善处理了年丰大当家支付账户下的所有问题；</p>'+
                '   <p>（7）账户已经解除与其他网站、其他APP的授权登录或绑定关系。</p>'+
                '   <p>2、年丰大当家账户一旦被注销将不可恢复，请您在操作之前自行备份年丰大当家账户相关的所有信息和数据。请您保存好订单商品和服务的交易凭证、票据等资料，否则您有可能须支付额外的账户和订单查询费用，或无法享受售后服务。</p>'+
                '   <p>3、如果您的年丰大当家账户同时是年丰大当家平台商家店铺的绑定账户名，您需先解除相关绑定；</p>'+
                '   <p>4、在年丰大当家账户注销期间，如果您的年丰大当家账户涉及争议纠纷，包括但不限于投诉、举报、诉讼、仲裁、国家有权机关调查等，年丰大当家有权自行终止本年丰大当家账户的注销而无需另行得到您的同意。</p>'+
                '   <p>5、' +
                '      <span class="imUnderLine">注销年丰大当家账户，您将无法再使用本年丰大当家账户，也将无法找回您年丰大当家账户中及与账户相关的任何内容或信息，</span>包括但不限于：' +
                '   </p>'+
                '   <p>（1）您将无法登录、使用本年丰大当家账户；</p>'+
                '   <p>（2）本年丰大当家账户的个人资料和历史信息（包括但不限于用户名、头像、购物记录、关注信息等）都将无法找回；</p>'+
                '   <p>（3）您通过年丰大当家账户使用、授权登录或绑定年丰大当家账户后使用的年丰大当家相关或第三方的其他服务的所有记录将无法找回。您将无法再登录、使用前述服务，您曾获得的余额、优惠券、积分、资格、订单及其他卡券等视为您自行放弃，将无法继续使用。您理解并同意，年丰大当家无法协助您重新恢复前述服务。请您在提交注销申请前，务必先了解您须解绑的其他相关账户信息，具体可与我们的客服联系。</p>'+
                '   <p>6、' +
                '   <span class="imUnderLine">注销本年丰大当家账户并不代表本年丰大当家账户注销前的账户行为和相关责任得到豁免或减轻。</span>' +
                '   </p>'+
                '</div>';
            return lationDelHml
        }
    };



    // 获取验证码
        var oWaitLogCode = $('.js_waitLogCode');              // 重新获取验证码按钮
        var oSendLogCode = $('.js_sendLogCode');              // 获取验证码按钮
        var oInputLogCode = $('.js_inputLogCode');            // 输入密码框
        var oLoCodePasArea = $('.js_loCodePasArea');          // 整个的输入区域
        var oGetAreaDiv = $('.js_inputLogNo div');            // 显示密码区域
        var oLoCodeSubArea = $('.js_loCodeSubArea');          // 下一步按钮
        var bGetoffTap = true;                                // 阻止下一步按钮多次点击
        var getTapOffTime = null;                             // 下一步按钮多次点击定时器
        var nCodeIndex = 0;                                   // 输入的长度
        var getCodeTap = true;                                // 防止获取验证码多次点击
        var getCode_timer = null;                             // 获取验证码多次点击定时器

        /*倒计时*/
        function setCode() {
            oSendLogCode.hide();
            oWaitLogCode.show();
            myPub.CutTime(60, function() {
                oWaitLogCode.hide();
                oSendLogCode.show().text('重新发送');
            }, function(time) {
                oWaitLogCode.text('重新获取'+'('+time + 's)');
            });
        }

        // 点击密码区域input框获取焦点
        oLoCodePasArea.on('click',function(){
            oInputLogCode.focus();
            oGetAreaDiv.eq(nCodeIndex).html('<em></em>');
        });

        oInputLogCode.on('input propertychange',function () {
            oGetAreaDiv.html('');
            nCodeIndex = oInputLogCode.val().length;
            for(var i = 0;i<oInputLogCode.val().length;i++){
                oGetAreaDiv.eq(i).html(oInputLogCode.val().charAt(i));
                oGetAreaDiv.eq(i+1).html('<em></em>');
            }
            if(oInputLogCode.val().length == 0){
                oGetAreaDiv.eq(0).html('<em></em>');
            }

            if(oInputLogCode.val().length === 6){
                oLoCodeSubArea.addClass('btn_Bgred');
                oLoCodeSubArea.removeClass('btn_Bggay');
            }else{
                oLoCodeSubArea.removeClass('btn_Bgred');
                oLoCodeSubArea.addClass('btn_Bggay');
            }
        });

    oInputLogCode.on('blur',function () {
            if(nCodeIndex ==0){
                oGetAreaDiv.eq(0).html('');
            }else{
                oGetAreaDiv.eq(nCodeIndex).html('')
            }
        });

        // 点击确定按钮
    oLoCodeSubArea.on('click',function () {
        if(bGetoffTap){
            bGetoffTap = false;
            // 变亮状态
            if($(this).hasClass('btn_Bgred')){
                checkCode();
            }else{
                myPub.TipLayer('请输入验证码！')
            }
        }

        clearTimeout(getTapOffTime);
        getTapOffTime = setTimeout(function () {
            bGetoffTap = true;
        }, 500);
    });

    // 获取验证码
        oSendLogCode.on('click',function () {
            if(getCodeTap){
                getCodeTap = false;
                sendCode();
            }
            clearTimeout(getCode_timer);
            getCode_timer = setTimeout(function () {
                getCodeTap = true;
            },250)
        });
        function checkCode() {
            var loggedOff_reason = sessionStorage.getItem('loggedOff_reason');
            console.log('验证信息');
            $.ajax({
                url:base+'/m/u/1.0/member/checkMemberCloseVerifyCode?captcha='+oInputLogCode.val()+'',
                type:'POST',
                dataType:'json',
                success:function (data) {
                    console.log('data1',data);
                    if(data.ret.code == '0'){
                        myPub.TipLayer('验证成功','no',function () {
                            $.ajax({
                                url:base+'/m/u/1.0/member/saveMemberCloseDetail?closeReason='+loggedOff_reason+'',
                                type:'POST',
                                dataType:'json',
                                success:function (data) {
                                    console.log('data2',data);
                                    if(data.ret.code == '0'){
                                        // 跳转到注销成功页面
                                        myPub.locationHref('/myInfo/toMemberCloseSuccess')
                                        // myPub.TipLayer('验证成功','no',function () {},3)
                                    }else{
                                        // 跳转到注销失败页面
                                        myPub.locationHref('/myInfo/toMemberCloseFail')
                                        // myPub.TipLayer(data.ret.message,'no',function () {},3)
                                    }
                                },
                                error:function (data) {
                                    console.log('data5',data);
                                }
                            });
                        },3)
                    }else{
                        myPub.TipLayer(data.ret.message,'no',function () {},3)
                    }
                },
                error:function (data) {
                    console.log(data);
                }
            });

        }
        function sendCode() {
            $.ajax({
                url:base+'/m/u/1.0/member/modifyMemberCloseVerifyCode',
                type:'POST',
                dataType:'json',
                success:function (data) {
                    console.log('data3',data);
                    if(data.data && data.data != null && data.data != ''){
                        myPub.TipLayer('发送成功','no',function () {},3)
                    }
                    else if(data.ret.code = '00105'){
                        myPub.TipLayer(data.ret.message,'no',function () {},3)
                    }
                    else{
                        myPub.TipLayer('发送失败,请稍后再试','no',function () {},3)
                    }
                },
                error:function (data) {
                    console.log(data);
                }
            });
            setCode();
        }

        myPub.JudgeAppHref($('.js_home'))
});